package com.bflow.api;

import com.bflow.api.bo.BflowDefineActBo;
import com.bflow.commons.exception.BizException;
import com.bflow.commons.po.BasePo;
import com.bflow.commons.service.IBaseService;

import java.io.Serializable;
import java.util.List;

/**
 * 功能：BflowDefineAct 活动节点定义-业务接口
 * 作者：haowen
 * 日期：2018-12-13
 */
public interface IBflowDefineActService<P extends BasePo, B extends Serializable> extends IBaseService<P, B> {

    /**
     * 保存
     * @param bflowDefineActBo
     * @return
     */
    void save(BflowDefineActBo bflowDefineActBo) throws BizException;

    boolean existKey(String id, String key);

    /**
     * 新增用户审批活动
     * @param key
     * @param title
     * @param auditUserId
     * @throws BizException
     */
    void addUserAuditAct(String key, String title, String auditUserId) throws BizException;

    /**
     *获取有效活动信息
     */
    BflowDefineActBo getUsableActById(String actId)throws BizException;

    BflowDefineActBo getCacheByKey(String key);

    BflowDefineActBo getCacheById(String actId)throws BizException;

    String getCacheActName(String actId)throws BizException;
}
